home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 36 / dvbg.zip / BG.SHR < prev   
Text File  |  1989-04-18  |  2KB  |  50 lines

  1. ; Version 4/18/89
  2.  
  3. ; BG is written by David Page, Fidonet 109/104 (109/20). I hereby contribute
  4. ; this code to the public domain. It is guaranteed to do nothing but take up
  5. ; a rather small amount of disk space; use at your own risk. On my machine,
  6. ; it does a nice job.
  7.  
  8. ; BG.bin is designed to be used as a "shared program" in DESQview. I wrote 
  9. ; it for the exercise; it has no real advantage over running BG.COM in a 
  10. ; batch file. When placed in the "shared program" line of a DESQview PIF 
  11. ; file, it will make the window opened by that PIF go to background, but 
  12. ; unfortunately, only AFTER the window has been opened on the display.
  13.  
  14. ; This program will not run without DESQview, and since it is not even a 
  15. ; loadable program, it doesn't bother to test. Somehow exectuted without DV
  16. ; (DOS won't try with this extension), it WILL crash the machine.
  17.  
  18. include dvapi.inc
  19.  
  20. bg    segment    public 'code'
  21.         assume  cs:bg
  22.     org     0               ; this is a binary
  23.  
  24. entry    proc    far
  25.     jcxz    init            ; if init call, jump to it
  26.     ret            ; do nothing on termination
  27.  
  28. msg     db      1bh,10h        ; signify manager stream
  29.         dw      strml           ; length of stream without prefix
  30. strm    db      0c9h            ; window stream to make background
  31. msgl    equ    $-msg        ; length of msg
  32. strml   equ     $-strm          ; length of actual stream without prefix
  33.  
  34. init:
  35.         lea     si,cs:msg          ; address of msg
  36.     push    cs        ; the address is CS, not DS based
  37.     push    si        ; and push the offset address
  38.     mov     cx,msgl         ; put length of message in cx
  39.         xor     dx,dx           ; zero dx
  40.     push    dx        ;
  41.     push    cx        ; push length of message
  42.     @send    write,me    ; macro to send message to current window
  43.     clc            ; clear carry, so that success is signaled
  44.     ret    12        ; return, with PASCAL convention!
  45.     endp    entry        ; end of procedure
  46. bg    ends
  47.     end
  48.  
  49.  
  50.